////////////////////////////////////////////////////////////////////////////////
//                                                                            //
//   Software       :                                                         //
//   Layer          : SRC                                                     //
//   Package        :                                                         //
//   Component      :                                                         //
//                                                                            //
//   File           : FormConfig.h                                      //
//   Author         : RSO ( Rafael Sotomayor Brûlé )                          //
//   EMail          : rsotomayor@savtec.cl                                    //
//   Type           : C++ Source                                              //
//   Usage          :                                                         //
//   Purpose        : Formularion principal                                   //
//                                                                            //
//                                                                            //
//   who when        what                                                     //
//   ~~~ ~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
//   RSO 09-10-2010  Creation                                                 //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////


#ifndef __FormConfig_H__
#define __FormConfig_H__


#include <sqlite3.h>
#include "myconfig.h"
#include "myform.h"

class FormConfig:public MyForm {
public:
  FormConfig();
  ~FormConfig();
  static gint RePaint(gpointer data) ;
  static void on_window_destroy(GtkWidget *widget_p,gpointer data_p);
  static void on_window_close(GtkWidget *widget_p,gpointer data_p);
  static void on_window_show(GtkWidget *widget_p,gpointer data_p);
  static void on_window_config_keypad(GtkWidget *widget_p,gpointer data_p);

  static void on_window_guardarconfiguracion(GtkWidget *widget_p,gpointer data_p);
  static void on_window_sincroniza(GtkWidget *widget_p,gpointer data_p);

  void    initComboboxPPP();
  void    initTabConfig();

  int     initialize(string fileGlade_p);  
  void    setCallBack(); 
  // Widgets 
  typedef struct {
    GtkWidget     *notebookconfig;
    // KEY PAD
    GtkWidget     *keypadnum[10]; // 0..9
    GtkWidget     *keypadletter[26+1];  // a..z + ñ
    GtkWidget     *keypadbarspace;
    GtkWidget     *keypadbloqmayus;
    GtkWidget     *keypadbkspace;
    GtkWidget     *keypadcomma;
    GtkWidget     *keypadpunto;
    GtkWidget     *keypadraya;
    GtkWidget     *keypadslash;
    // END KEY PAD


    GtkWidget     *buttonconfiguracioncerrar;

    GtkWidget     *entryServerHostName;
    GtkWidget     *entryServerAddress;
    GtkWidget     *entryServerUrl;
    GtkWidget     *entryServerPort;

    GtkWidget     *entryServicioAddress;
    GtkWidget     *entryServicioPort;
    GtkWidget     *entryServicioRfIdPort;

    GtkWidget     *entryWlanSSID;
    GtkWidget     *entryWlanWpaKey;
    GtkWidget     *comboboxProveedorMovil;

    GtkWidget     *checkbuttonEthDhcp;
    GtkWidget     *entryEthAddress;
    GtkWidget     *entryEthMask;
    GtkWidget     *entryEthGateway;
    GtkWidget     *entryDNS;
    GtkWidget     *buttongrabarconfiguracion;


  } MyWidget;
  
  MyWidget    *myWidget_a;
  bool        flagInit_a;


protected:
private:
  static    FormConfig *pFormConfig_a; 
  int       ptimer_a; 
  int       keyup_a;

} ;



#endif
